課程資訊
課程名稱
軟體設計模式
Software Design Patterns 
開課學期
103-1 
授課對象
電機資訊學院  資訊工程學系  
授課教師
李允中 
課號
CSIE3013 
課程識別碼
902 39600 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期四5,6,7(12:20~15:10) 
上課地點
資110 
備註
限學士班三年級以上
總人數上限:50人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1031CSIE3013_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程旨在培養學生物件導向軟體設計之觀念。課程中要求學生針對軟體需求敘述以UML類別圖進行初次的設計(Initial Design),再分析初次設計中的問題,接著以Object-Oriented Design Process配合Design Principles進行重構,進而導出合適的Design Pattern的設計,並比較初次設計與重構後設計之差異,最後會要求學生以Java程式語言實作每個重構後的設計。 

課程目標
培養學生物件導向軟體設計之觀念,並掌握各種軟體設計模式。 
課程要求
待補 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
待補 
參考書目
1. “Design Patterns: Elements of Reusable Object-Oriented Software,” Erich
Gamma, Richard Helm, Ralph Johnson and John Vlissides, Addison-Wesley
Professional, 1995.

2. “Head First Design Patterns,” Eric Freeman, Elisabeth Freeman, Kathy Sierra,
and Bert Bates, O'Reilly Media, 2004.

3. “UML 2.0 in a Nutshell,” Dan Pilone and Neil Pitman, O'Reilly Media, 2005.

4. 李允中, 軟體工程, 台灣軟體工程學會, 2013. 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
無資料